//
// Created by huili on 2022/2/26.
//
#include <string.h>
#include <stdio.h>

int noRepeatStr(char * str){
    int left = 0, //左下标
    right = 0, //右下标
    ans = 0, //当前长度
    haveSameStr = 0; // 对重复字符标记
    int len = strlen(str); //获取字符串长度
    for (int i = 0; i < len; ++i) {
        int j;
        if(left<=right){ //如果满足条件right右坐标向后移
            for ( j = left; j < right; ++j) { //j应该从左下标开始 left下标是决定j的起始位置
                if(str[j] == str[right]){ //判断是与右下标标注的是否相等，如果相等表示重复
                    haveSameStr = 1; //记录一下 有重复
                    break; //退出循环
                }
            }
        }
        if(haveSameStr){
            left = j+1; //把left向下移动一下
        }
        ans = ans <(right - left +1)?(right - left +1) : ans;
        right ++;
    }
    return ans;
}


